|
|
Main menu for Browse IS/STAG
Course info
KIV / VSS
:
Course description
Department/Unit / Abbreviation
|
KIV
/
VSS
|
Academic Year
|
2023/2024
|
Academic Year
|
2023/2024
|
Title
|
Soft. Syst. Reliability and Performance
|
Form of course completion
|
Exam
|
Form of course completion
|
Exam
|
Long Title
|
Software Systems Reliability and Performance
|
Accredited / Credits
|
Yes,
6
Cred.
|
Type of completion
|
Combined
|
Type of completion
|
Combined
|
Time requirements
|
Lecture
3
[Hours/Week]
Tutorial
2
[Hours/Week]
|
Course credit prior to examination
|
Yes
|
Course credit prior to examination
|
Yes
|
Automatic acceptance of credit before examination
|
No
|
Included in study average
|
YES
|
Language of instruction
|
Czech, English
|
Occ/max
|
|
|
|
Automatic acceptance of credit before examination
|
No
|
Summer semester
|
3 / -
|
1 / -
|
0 / -
|
Included in study average
|
YES
|
Winter semester
|
0 / -
|
0 / -
|
0 / 5
|
Repeated registration
|
NO
|
Repeated registration
|
NO
|
Timetable
|
Yes
|
Semester taught
|
Winter + Summer
|
Semester taught
|
Winter + Summer
|
Minimum (B + C) students
|
10
|
Optional course |
Yes
|
Optional course
|
Yes
|
Language of instruction
|
Czech, English
|
Internship duration
|
0
|
No. of hours of on-premise lessons |
|
Evaluation scale |
1|2|3|4 |
Periodicity |
každý rok
|
Evaluation scale for credit before examination |
S|N |
Periodicita upřesnění |
|
Fundamental theoretical course |
No
|
Fundamental course |
Yes
|
Fundamental theoretical course |
No
|
Evaluation scale |
1|2|3|4 |
Evaluation scale for credit before examination |
S|N |
Substituted course
|
KIV/VSP
|
Preclusive courses
|
KIV/VSS-E
|
Prerequisite courses
|
N/A
|
Informally recommended courses
|
N/A
|
Courses depending on this Course
|
KIV/RSSZ, KIV/SA, KIV/SSSZ
|
Histogram of students' grades over the years:
Graphic PNG
,
XLS
|
Course objectives:
|
This course is focused on basic concepts of simulation and modelling of software systems and testing of system reliability, performance and availability. During the course, students will get information about principles of simulation theory, the tools for monitoring software execution and methods of processing and presentation of measured results.
|
Requirements on student
|
Writing out 5 examples and hand in them in announced dates; writing and presenting analysis of an existing example of severe SW failure; independent development of semestral work; finishing of a written exam.
|
Content
|
1. Introduction. Purpose of modelling and performance and reliability testing, basic terms (mistake, error, failure, availability, performance, safety, security, reliability).
2. Systems modelling. Queuing networks, Markov chain, temporal logic.
3. Basic reliability models (redundant systems). Random number generators.
4. Basics of software simulations. Basic techniques, calendar, discrete event simulation, time and events in the simulation, design and parameterization of the simulation model.
5. Using of simulation for modelling queuing networks and other systems, simulation of the multithreading applications, system environment simulation.
6. Fundaments of the performance measuring, for use in both simulation and real system. Kinds and examples of metrics. Ensuring of test repeatability.
7. Best practices for creating of reliable software ? availability levels, basic methods for ensuring reliability, runtime error processing, using of reliability modelling. Standards and architectures for reliable software systems (AUTOSAR, MARTE, ISO 50128 and similar).
8. Benchmarking, performance testing of real HW and SW, preparation of workload, workload clustering.
9. Debugging. Using of debugger and profiler for error detection, error isolation, supervising of application run. Using of the record of application execution for simulation models.
10. Result analysis and presentation. Statistics, result visualization, risks for result interpretation.
11. Static SW analysis ? existing tools and methods (Spin model checker, Java PathFinder and similar), their suitability, using and limitations in specific situations.
12. Dynamic SW analysis ? existing tools and methods (Gcov, Glassbox, Cobertura and similar), their suitability, using and limitations in specific situations.
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
-
Guarantors:
Ing. Richard Lipka, Ph.D. ,
-
Lecturer:
Ing. Richard Lipka, Ph.D. (100%),
Ing. Tomáš Potužák, Ph.D. (100%),
-
Tutorial lecturer:
Ing. Richard Lipka, Ph.D. (100%),
Ing. Václav Vais, Ph.D. (100%),
|
Literature
|
-
Basic:
Basic Queueing Theory
(János Sztrik)
-
Basic:
Mor Harchol-Balter. Performance Modeling and Design of Computer Systems: Queueing Theory in Action. 2013. ISBN 1107027500.
-
Basic:
Jim Kukunas. Power and Performance: Software Analysis and Optimization. 2015. ISBN 0128007265.
-
Recommended:
Hlavička, Jan. Architektura počítačů. Praha : ČVUT, 1994.
-
Recommended:
Hamlet, Dick. Composing Software Components: A Software-testing Perspective. Springer, 2010. ISBN 978-1441971470.
-
Recommended:
Hlavička, Jan. Číslicové systémy odolné proti poruchám. Vyd. 1. Praha : ČVUT, 1992. ISBN 80-01-00852-5.
-
Recommended:
Lyu, Michael R. Handbook of Software Reliability Engineering. Mcgraw-Hill, 1996. ISBN 978-0070394001.
-
Recommended:
Bernardi, Simona; Merseguer, José; Petriu, Dorina C. Model-driven dependability assessment of software systems. Heidelberg : Springer, 2013. ISBN 978-3-642-39511-6.
-
Recommended:
Racek, Stanislav; Roubín, Miroslav. Pravděpodobnostní modely počítačů. 1. vyd. Plzeň : ZČU, 1996. ISBN 80-7082-300-3.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Presentation preparation (report) (1-10)
|
10
|
Preparation for laboratory testing; outcome analysis (1-8)
|
20
|
Graduate study programme term essay (40-50)
|
40
|
Preparation for an examination (30-60)
|
20
|
Contact hours
|
65
|
Total
|
155
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
Understand basic concepts of the mathematical analysis |
Understand the basic challenges of the parallel programming and their solutions |
Understand the basic principle of the computer system architectures |
Understand the basic problems of the network communication and remote request handling |
Understand the descriptions and models of the software systems |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
create object design and decompose the problem correctly |
independently search for information in the academic and professional resources |
use object programming and suitable development tools |
Work with basic probability and statistics methods, including usage of the appropriate tools for the calculations |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
Understand and interpret results of the benchmarking experiments |
Understand how analytical and simulational models of the Markov systems works |
Understand the basic methods of the statical and dynamical analysis of the software reliability |
Understand the methods of design of reliable systems and their evaluation |
understand the methods of the model design of the queuing systems |
understand the properties and limits of the simulations and analytical models |
Understand the properties and limits of the true random and pseudorandom number generators |
Understand and describe means of analysis, design and creation of reliable software systems working with large data, integrated from multiple interacting components. |
Skills - skills resulting from the course: |
Design a prepare a benchmarking experiment, measure characteristics of the system under test |
Design and prepare an analytical model of the system under test, interpret the calculated characteristics |
Design and prepare an experiment to measure the behaviour of the system under load |
Evaluate the reliability and performance characteristics of the tested software, based on the static analysis and dynamic testing |
Implement some types of the simulation models (discrete event simulation, simulation with the firm time step, cellular automatons) and analyze the obtained results |
suitable present the results of the measurements from the simulation or real systems |
Competences - competences resulting from the course: |
N/A |
N/A |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Combined exam |
Seminar work |
Individual presentation at a seminar |
Peer evaluation of students |
Formative evaluation |
Skills - skills achieved by taking this course are verified by the following means: |
Skills demonstration during practicum |
Competences - competence achieved by taking this course are verified by the following means: |
Combined exam |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Lecture |
Lecture supplemented with a discussion |
Lecture with visual aids |
Practicum |
Self-study of literature |
Skills demonstration |
Seminar classes |
Students' portfolio |
Skills - the following training methods are used to achieve the required skills: |
Individual study |
Self-study of literature |
Skills demonstration |
Task-based study method |
Competences - the following training methods are used to achieve the required competences: |
Lecture with visual aids |
|
|
|
|